To support applications where communication among varied users is required, circuit switching or packet switching techniques are generally utilized.
Circuit switching typically results in the establishment of switched point-to-point channels, i.e. the network switching system sets up a single circuit so that there is a direct connection between the source and destination of the information to be transmitted. Circuit switching is generally used for for voice and batch oriented applications which involve the continuous transmission of data in a synchronous manner. However, circuit switching is inefficient for bursty traffic such as real time interactive data communications and in addition is limited in the bit rates of continuous traffic that can be supported.
Packet switching is based on the virtual circuit concept. A packet switching network typically comprises an array of packet switches which are connected by very high capacity (e.g. 1.5 megabits per second) links. At call set-up time, customer A dials the number of customer B. The best route through the network from A to B is then determined for the duration of the call. For example, the call may leave station A on line a, be routed through packet switches X,Y,Z which switches are connected by the high capacity links and enter station B on line b. When a talk or data spurt from station A (typically at 64 kilo bits/sec.) is detected at the switch X, it is broken down into several packets depending upon the length of the data spurt. Each packet is headed by a header including a virtual circuit number and terminated by a flag. As soon as a packet has been assembled at switch X, it can leave on the link to switch Y. If the link is busy, the packet may be stored in a buffer until the link is available. The size of the buffer is of course finite and a packet that has been waiting too long may be discarded.
In general, a given link such as the link connecting packet switches X and Y is used for multiple concurrent transmissions, as the given link may form part of any number of virtual circuits. It is the role of a protocol handler in each packet switch to multiplex packets having a variety of virtual circuit numbers into a single stream of data to be transmitted over the given link and to demultiplex received packets into independent streams of data.
Packet switching is well suited for bursty data such as real time interactive data communications but is very inefficient for continuous communications such as the batch transfer of data. The reason for this is that each packet has a significant number of bits devoted to the header and the flag. Thus, there is a significant "overhead" when packet switching is used to transmit continuous traffic. Another problem with packet switching is increased system delay due to the fact that the first switch must wait to receive enough bits to form a packet before any bits are transmitted to the next switch.
Note that packet switching may be used to transmit different types of traffic at different bit rates. Different bit rates may be achieved by varying the size of the packet or by varying the number of packets attributable to a particular virtual circuit in a particular time interval.
This multiple bit rate capability generally proves useful when the network is congested. For example, it may be useful to reduce the effective bit rate of certain talk spurts from 64k bits/sec. to 32k bits/sec. This can be accomplished in packet switching by decreasing the size of each packet allocated to the talk spurt or by reducing the rate at which packets attributable to the talk spurt are transmitted. Both of these techniques have drawbacks. Decreasing the size of each packet causes an increase of "overhead" i.e. the fraction of bits occupied by header and flag information increase. Reducing the rate at which packets attributable to a given talk spurt are transmitted causes increased system delay.
Another type of switching technique which can be used to support communications among multiple user stations is exemplified by the Distributed Burst Switching System (DBSS) developed by GTE Laboratories. (See for example S. R. Amstutz: "Burst Switching--A Method for Distributed and Integrated Voice and Data Switching" ICC Conference Record Vol. 1 pp. 288-292 June 19, 1983; E. F. Haselton "A PCM Frame Switching Concept Leading to Burst Switched Network Architecture" ICC 1983 Conference Record Vol. 3 pp. 1401-1406 June 22, 1983). Burst switching utilizes concepts which are common to both circuit switching and packet switching.
Like the aforedescribed packet switching technology, the Distributed Burst Switching System utilizes the virtual circuit concept. The Distributed Burst Switching System comprises an array of Burst Switches, which switches are described in the aforementioned references.
The establishment of the virtual circuit in burst switching may be similar to the establishment of the virtual circuit in the packet switching technology. At call set-up time a customer at station A dials the number of station B. The best route from station A to station B is determined for the duration of the call. For example, the call may originate at station A on line a, be routed through burst switches X,Y,Z and enter station B on line b.
The aforementioned DBSS is a synchronous system which successively transmits 125 microsecond frames between adjacent burst switches. Each frame has 24 eight bit slots, and one additional bit for frame synchronization. One slot in each frame transmitted between two adjacent burst switches is allocated to a particular virtual circuit as long as that particular virtual circuit is being used to transmit a voice or data spurt. When the particular virtual circuit is not being used to transmit a voice or data spurt, the slot may be allocated to another virtual circuit.
The DBSS is able to handle continuous traffic like circuit switching and bursty traffic like packet switching. The continuous traffic is handled merely by keeping a particular virtual circuit active over an extended period of time. The "overhead" is relatively low as only one header is needed to transmit an entire stream of continuously transmitted data. In contrast packet switching would transmit the same batch of data by dividing it into a plurality of packets, each packet being accompanied by a header and a flag. Thus, the "overhead" is significantly higher when packet switching technology is used to transmit batch data.
Bursty traffic is also efficiently transmitted by DBSS. After a burst of data has been transmitted over a particular virtual circuit, the slot allocated to that particular virtual circuit is then allocated to another virtual circuit to make maximum use of available resources. No slot is allocated to virtual circuits which are silent by virtue of their being between bursts.
However, the DBSS cannot easily handle transmissions at a variety of bit rates. This is manifest from the operation of the DBSS system itself. Because only one 8 bit slot in a 125 .mu.sec. frame is allocated to a particular virtual circuit, each virtual circuit in DBSS, whether used for continuous data or a bursty data, has an effective bit rate of 64 kilobits. No provision is made to increase this rate to handle types of traffic such as video which may require a higher rate and no provision is made to decrease this rate if for example there is network congestion.
It is an object of the present invention to provide a transmission network which, like DBSS, can efficiently handly a variety of data types ranging from bursty interactive type transmissions to continuous batch data transfers. Such data types may include voice, video, real time interactive data (i.e. inquiry and response), as well as non-real time batch data transfer. Since such a variety of traffic types involves a variety of bit transmission rates, it is an objective of the present invention to provide a transmission network which can efficiently handle such a variety of bit transmission rates. The ability to handle multiple bit rate transmissions is also important to provide network controllers with the flexibility to handle network problems such as congestion by varying the transmission rate of particular transmissions.